From d2d6d09d1e0db8aa537f4c42cce64e5e10541fd9 Mon Sep 17 00:00:00 2001 From: huyueb <1062887235@qq.com> Date: Wed, 27 Dec 2017 16:23:25 +0800 Subject: [PATCH] =?UTF-8?q?feat(multiSelect.js):=20=E6=96=B0=E5=A2=9Eselec?= =?UTF-8?q?tDisabled=E5=8F=AF=E4=BB=A5=E8=AE=BE=E7=BD=AE=E6=9F=90=E4=B8=80?= =?UTF-8?q?=E8=A1=8C=E6=95=B0=E6=8D=AE=E6=97=A0=E6=B3=95=E8=A2=AB=E5=85=A8?= =?UTF-8?q?=E9=80=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 ++ demo/demolist/Demo13.js | 49 +++++++++++++++++++++++++++-------------- docs/api.md | 1 + docs/mixin.md | 2 ++ src/lib/multiSelect.js | 4 ++++ 5 files changed, 42 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 4cf9bc4..8aa13e2 100644 --- a/README.md +++ b/README.md @@ -89,6 +89,7 @@ class Demo extends Component { | expandIconAsCell | 展开按钮是否单独作为一个单元格 | bool | false | | expandRowByClick | 设置展开行是否通过点击行触发,此参数需要与上面参数搭配使用(默认是通过点击行前面的加号展开行 | bool | false | | footerScroll | 表尾和body是否公用同一个横向滚动条。( 如果footer中也是一个table组件,并且也具有滚动条,那么也需要加入footerScroll参数。 ) | bool | false | + *注意: 一旦使用了expandedRowRender参数,data参数中的key属性必须设置。否则会导致无法展开!* ### Column @@ -128,6 +129,7 @@ import multiSelect from "bee-table/build/lib/multiSelect.js" | multiSelect.type | 全选功能的类型,多选或单选(暂时只支持多选) | string | checkbox | | multiSelect.param | 通过设置该参数来设计获取的数据数组,默认返还所有数据 | string | '' | | getSelectedDataFunc | 返回当前选中的数据数组 | Function | 无 | +| selectDisabled | 设置某一行数据无法被选中,使用类似于rowClassName | Function(record, index):bool | 无 | diff --git a/demo/demolist/Demo13.js b/demo/demolist/Demo13.js index 79c0018..53155b2 100644 --- a/demo/demolist/Demo13.js +++ b/demo/demolist/Demo13.js @@ -1,9 +1,9 @@ /** -* -* @title 列排序、全选功能、合计 -* @description 列排序、全选功能、合计(通过使用的封装好的功能方法实现复杂功能,简单易用!) -* -*/ + * + * @title 列排序、全选功能、合计 + * @description 列排序、全选功能、合计(通过使用的封装好的功能方法实现复杂功能,简单易用!) + * + */ import React, { Component } from "react"; import Table from "../../src"; @@ -17,48 +17,65 @@ const columns13 = [ title: "名字", dataIndex: "a", key: "a", - width: 100 + width: 200 }, { title: "性别", dataIndex: "b", key: "b", - width: 100 + width: 200 }, { title: "年龄", dataIndex: "c", key: "c", width: 200, - sumCol:true, + sumCol: true, + sorter: (a, b) => a.c - b.c + }, + + { + title: "年龄", + dataIndex: "c", + key: "c", + width: 200, + sumCol: true, sorter: (a, b) => a.c - b.c }, { title: "武功级别", dataIndex: "d", - key: "d" + key: "d", + width: 200 } ]; const data13 = [ - { a: "杨过", b: "男", c: 30,d:'内行', key: "2" }, - { a: "令狐冲", b: "男", c: 41,d:'大侠', key: "1" }, - { a: "郭靖", b: "男", c: 25,d:'大侠', key: "3" } + { a: "杨过", b: "男", c: 30, d: "内行", key: "2" }, + { a: "令狐冲", b: "男", c: 41, d: "大侠", key: "1" }, + { a: "郭靖", b: "男", c: 25, d: "大侠", key: "3" } ]; //拼接成复杂功能的table组件不能在render中定义,需要像此例子声明在组件的外侧,不然操作state会导致功能出现异常 let ComplexTable = multiSelect(sum(sort(Table))); class Demo13 extends Component { - getSelectedDataFunc = (data) =>{ - console.log(data) - } + getSelectedDataFunc = data => { + console.log(data); + }; + selectDisabled = (record, index) => { + if (index === 1) { + return true; + } + return false; + }; render() { let multiObj = { - type: "checkbox", + type: "checkbox" }; return (
{ + let bool = selectDisabled(record, index); return (