添加listener实现数据保存