失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > antd radio设置默认选中_antd单选框Radio问题

antd radio设置默认选中_antd单选框Radio问题

时间:2020-11-07 19:43:18

相关推荐

antd radio设置默认选中_antd单选框Radio问题

你这文档都没看完,就写代码了,差评。

A

B

C

D

这个才是RadioGroup的用法,丛植RadioGroup的value值就可以了。

然后不得不说,代码写的比较丑,但是给的例子可以直接跑起来,这点不错。

丑指的这里

if (userName) {

if (userName.a) {

for (let i = 0; i < userName.a.length; i++) {

if (userName.a[i] === getUserName) {

userNames = '100%造假';

}

}

}

if (userName.b) {

for (let j = 0; j < userName.b.length; j++) {

if (userName.b[j] === getUserName) {

userNames = '大概率';

}

}

}

if (userName.c) {

for (let k = 0; k < userName.c.length; k++) {

if (userName.c[k] === getUserName) {

userNames = '小概率';

}

}

}

}

稍微修改了一下

import React, { Component, PropTypes } from 'react';

import { Tabs, DatePicker, Radio, Table, Select } from 'antd';

const RadioGroup = Radio.Group;

const getUserName = "张三";

const map = {

a: 0,

b: 1,

c: 2,

default: 9999

}

class Radios extends Component {

constructor(props) {

super(props);

this.state = {};

}

componentWillMount() {

this.initRequest();

}

initRequest = () => {

let data = [{

key: 1,

RQ: '0805',

CODE: '55199106.RQ',

STATE: '{"a":[],"b":[],"c":[]}',

}, {

key: 2,

RQ: '0505',

CODE: '55199106.RQ',

STATE: '{"a":[],"b":["张三"],"c":[]}',

}, {

key: 3,

RQ: '0115',

CODE: '55199106.RQ',

STATE: '{"a":["张三"],"b":[],"c":[]}',

}];

this.setState({ initData: data });

}

requestData = () => {

let data = [{

key: 1,

RQ: '0805',

CODE: '55199106.RQ',

STATE: '{"a":[""],"b":[],"c":["张三"]}',

}, {

key: 2,

RQ: '0505',

CODE: '55199106.RQ',

STATE: '{"b":[],"a":[],"c":[]}',

}, {

key: 3,

RQ: '0805',

CODE: '55199106.RQ',

STATE: '{"a":[""],"b":[""],"c":["张三"]}',

}];

this.setState({ initData: data });

}

render() {

const data = this.state.initData;

let { sortedInfo, filteredInfo } = this.state;

sortedInfo = sortedInfo || {};

filteredInfo = filteredInfo || {};

const columns = [

{

title: '日期',

dataIndex: 'RQ',

key: 'RQ',

width: 120,

filteredValue: filteredInfo.RQ || null,

onFilter: (value, record) => record.RQ.includes(value),

sorter: (a, b) => a.RQ.length - b.RQ.length,

sortOrder: sortedInfo.columnKey === 'RQ' && sortedInfo.order,

}, {

title: '代码',

dataIndex: 'CODE',

key: 'CODE',

width: 168,

sorter: (a, b) => a.CODE - b.CODE,

sortOrder: sortedInfo.columnKey === 'CODE' && sortedInfo.order,

}, {

title: '投票',

width: 1165,

render: (text, data, index) => {

// 解析数据

let userName = text.STATE ? JSON.parse(text.STATE) : '', userNames = '';

// 设置默认显示值

let value = map.default;

// 获取选中value,可以提成方法

for (let variable in userName) {

if (userName[variable].some((item) => item === getUserName )) {

value = map[variable];

break;

}

}

return (

100%造假

大概率

小概率

);

},

}];

return (

请求新数据

);

}

RadioGroup = (e) => {

console.log(e.target.value);

}

}

export default Radios;

===补充内容==

那个本来应该你自己来实现的,只是指出问题。

import React, { Component, PropTypes } from 'react';

import { Tabs, DatePicker, Radio, Table, Select } from 'antd';

const RadioGroup = Radio.Group;

const getUserName = "张三";

const map = {

a: 'a',

b: 'b',

c: 'c',

}

class Radios extends Component {

constructor(props) {

super(props);

this.state = {};

}

componentWillMount() {

this.initRequest();

}

getStateFromoData (data) {

const { STATE } = data;

return data.map((item) => {

const parseState = JSON.parse(item.STATE) || {};

item.STATE = "";

for(let key in parseState) {

if(parseState[key].some((item) => {return item === getUserName})) {

item.STATE = key;

}

}

return item;

})

}

initRequest = () => {

let data = [{

key: 1,

RQ: '0805',

CODE: '55199106.RQ',

STATE: '{"a":[],"b":[],"c":[]}',

}, {

key: 2,

RQ: '0505',

CODE: '55199106.RQ',

STATE: '{"a":[],"b":["张三"],"c":[]}',

}, {

key: 3,

RQ: '0115',

CODE: '55199106.RQ',

STATE: '{"a":["张三"],"b":[],"c":[]}',

}];

this.setState({ initData: this.getStateFromoData(data) });

}

requestData = () => {

let data = [{

key: 1,

RQ: '0805',

CODE: '55199106.RQ',

STATE: '{"a":[""],"b":[],"c":["张三"]}',

}, {

key: 2,

RQ: '0505',

CODE: '55199106.RQ',

STATE: '{"b":[],"a":[],"c":[]}',

}, {

key: 3,

RQ: '0805',

CODE: '55199106.RQ',

STATE: '{"a":[""],"b":[""],"c":["张三"]}',

}];

this.setState({ initData: this.getStateFromoData(data) });

}

render() {

const data = this.state.initData;

let { sortedInfo, filteredInfo } = this.state;

sortedInfo = sortedInfo || {};

filteredInfo = filteredInfo || {};

const columns = [

{

title: '日期',

dataIndex: 'RQ',

key: 'RQ',

width: 120,

filteredValue: filteredInfo.RQ || null,

onFilter: (value, record) => record.RQ.includes(value),

sorter: (a, b) => a.RQ.length - b.RQ.length,

sortOrder: sortedInfo.columnKey === 'RQ' && sortedInfo.order,

}, {

title: '代码',

dataIndex: 'CODE',

key: 'CODE',

width: 168,

sorter: (a, b) => a.CODE - b.CODE,

sortOrder: sortedInfo.columnKey === 'CODE' && sortedInfo.order,

}, {

title: '投票',

width: 1165,

key: 'VOTE',

render: (text, data, index) => {

return (

100%造假

大概率

小概率

);

},

}];

return (

请求新数据

);

}

RadioGroup = (index) => {

return (e) => {

// 拷贝数据

const copyData = this.state.initData.slice(0)

// 修改数据

copyData[index].STATE = e.target.value;

// 更新状态

this.setState({

initData: copyData

})

}

}

}

export default Radios;

看完好好思考下你之前的代码结构,其实很有问题

如果觉得《antd radio设置默认选中_antd单选框Radio问题》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。