淘汰赛:根据选择选项中对象列表的属性发出警报

时间:2018-09-06 17:00:54

标签: javascript data-binding knockout.js

我知道这是一个简单的更改,但是尽管进行了很多研究和尝试,但我仍无法实现。而且我是淘汰赛的新手。 我具有具有import React, { Component } from 'react'; import { View, Text} from 'react-native'; import { connect } from 'react-redux' class DeckListView extends Component { render() { return ( <View> <Text>Toast the world</Text> {this.props.Decks.map((deck) => { <Text key={deck} >item</Text> })} </View> ); } } function mapStateToProps ({ decks }) { let Decks = []; if(decks !== {} && decks !== null) { Decks = Object.keys(decks); } return { Decks: Decks } } export default connect(mapStateToProps)(DeckListView) 布尔属性的对象Payors的列表的选择选项。

IsValueChecked

如果<select name="InsuranceId" data-bind="options:Payors , optionsValue: 'Id', optionsText: 'Text', value:InsuranceId"> </select> IsValueChecked,我想创建一个警报,但是我要更新的值为true。我正在尝试通过订阅InsuranceId来实现这一点。

InsuranceId

我如何编写此逻辑?

1 个答案:

答案 0 :(得分:1)

Payors必须是一个数组或observableArray,并带有要从中选择的选项。

当您订阅InsuranceId时,您将获得所选的ID。用它来过滤Payors

vm.Payors = ko.observableArray([
    {IsValueChecked : false, Id : 1, Text: 'False'},
    {IsValueChecked : true, Id: 2, Text: 'True'}
]);

vm.InsuranceId.subscribe(function (newValue) {
    var boolean = vm.Payors().find(function(payorObject){
         if (newValue === payorObject.Id) {
             return payorObject.IsValueChecked;
         }
    });
    if (boolean) alert ("IsValueChecked is true");
}