我需要根据搜索字符串值从数据库获取数据。因此我正在使用输入字段。搜索字符串存储为状态值。
组件的数据来自一个容器(使用 npmmeteor/react-meteor-data)。
现在我的问题是,如何将搜索字符串放入容器以设置发布参数?
容器/example.js
export default createContainer((prop) => {
Meteor.subscribe('images', searchString) // How to get searchString?
return { files: Images.find({}).fetch() }
}, Example)
组件/example.jsx
class Example extends Component {
constructor(props) {
super(props)
this.state = {
searchString: ''
}
}
searchImage(event) {
const searchString = event.target.value
this.setState({ searchString })
}
render() {
return (<Input onChange={ this.searchImage.bind(this) }/>)
}
}
export default Example
出版物
Meteor.publish('images', function(search) {
return Images.find({ title: search }).cursor
})